A hanging or frozen process occurs when a computer program ceases to respond to inputs. Examples include when a graphical user interface no longer responds to a keyboard or mouse input or when a client or server does not respond to an input task. A hanging process can have several causes. These include hardware or software defects like an infinite loop, long-running uninterruptable computation, resource exhaustion, underperforming hardware, external events like a slow network environment, misconfiguration, and compatibility issues.
A hang may be temporary. This can occur when the cause of the hang resolves itself. A hang may also be permanent. In this case, manual intervention may be required. Operating systems often include means to forcibly terminate the hung process including a forcible reboot of the machine via power cycling, a kill command line, graphical means like an “End Task” button, and a watchdog time that reboots the computer in the event of a hang.